-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[cppyy] Enable tests on windows #18872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Test Results 22 files 22 suites 3d 17h 27m 43s ⏱️ For more details on these failures, see this check. Results for commit 301a63f. ♻️ This comment has been updated with latest results. |
2025-05-26T19:53:28.0200811Z 24: if sc == -1:
2025-05-26T19:53:28.0200984Z 24: > raise RuntimeError("Unable to load reflection library "+name)
2025-05-26T19:53:28.0201385Z 24: E RuntimeError: Unable to load reflection library C:\ROOT-CI\build\bindings\pyroot\cppyy\cppyy\test/stltypesDictLooks like we have to use a proper |
6477723 to
7897153
Compare
7897153 to
bff3898
Compare
1a10344 to
46b7533
Compare
0ce0043 to
029bbdc
Compare
1bb881f to
207de17
Compare
The `PyObject_CallMethod()` to call `reserve()` might fail, in which case we should not try to decrement the result variable. Use the `Py_XDECREF` macro that does a `nullptr` check.
They are now part of the cppyy tests that are run on all platforms. The only test that is kept is a ROOT-specific one, which is moved to a different file.
Most tests were already present in the cppyy test suite, except for the `std::tuple_element` test introduced in the following commit: root-project/roottest@c0e6d20
We should be more granular and consistent when disabling tests.
207de17 to
67495c2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much! I made some additional changes to bring the PR over the finish line:
- use ACLiC for dictionary generation, which worked the easiest on all platforms (as was done by the old
roottest/python) - remove some tests in
roottest/pythonthat are redundant, now that we also run the cppyy tests on all platforms - consistently use the pytest markers to steer disabling of tests. This gives us a better overview of what is actually disabled, and lets us do more granular disabling
- temporarily circumvent a crash on Windows 64 bit by replacing a
Py_DECREFwithPy_XDECREF, which includes anullptrprotection (FYI, @bellenot).
Note that some incremental builds might fail in the next hours, because some declarations will be available both in the old test dictionaries generated by ROOT_GENERATE_DICTIONARY, and the new ones generated by ACLiC. The declarations might clash and cause test failures.
Trigger a verbose CI run with Windows to examine the cppyy test status